const path = require("node:path");
// 1、hathname 返回给定路径的最后一部分
// windows 操作系统默认是\foo\bar\rar\wds\wyp.html
// windows 兼容 /
console.log(path.basename("/foo/bar/rar/wds/wyp.html"));
// posix 处理不了windows的路径
console.log(path.posix.basename("\\foo\\bar\\rar\\wds\\wyp.html"));
// MacOs 处理windos 的路径
console.log(path.win32.basename("\\foo\\bar\\rar\\wds\\wyp.html"));
// 2、dirname 返回文件所在路径
console.log(path.dirname("/foo/bar/rar/wds/wyp.html"));
console.log(path.win32.dirname("\\foo\\bar\\rar\\wds\\wyp.html"));
// 3、extname 返回扩展名 带点
// 若没有点 返回空值、若有多个点 返回最后一个
console.log(path.win32.extname("cx.js"));
// 4、join 拼接路径
console.log(path.join("/a","/b","/c","../","/aaa.js")); 
// 5、resolve 拼接路径 返回绝对路径 多个返回最后一个
//  如果只要有一个相对路径，返回当前工作目录的绝对路径
// 相对路径 和绝对路径返回绝对路径
console.log(path.resolve("./index.js"));
console.log(path.resolve(__dirname,"/aaa.js")); 
// 6、parse 解析路径返回对象
console.log(path.parse("/foo/bar/rar/wds/wyp.html"));
/*
    root: '/',                  根目录
    dir: '/foo/bar/rar/wds',    文件所在的目录
    base: 'wyp.html',           文件名+后缀名
    ext: '.html',               后缀名
    name: 'wyp'                 文件名
 */
// 7、format 解析对象 返回路径
var fileObj = {
    root: '/',                  // 根目录
    dir: '/foo/bar/rar/wds',    // 文件所在的目录
    base: 'wyp.html',           // 文件名+后缀名
    ext: '.html',               // 后缀名
    name: 'wyp'                 // 文件名
}
console.log(path.format(fileObj));

// windows 返回\
// posix   返回/
console.log(path.sep);